Navigation techniques for electronic programming guides and video

ABSTRACT

A system for remote user navigation of content displayed with a display device, including a screen display, is provided. A user input device may be configured to detect a user movement, including a direction and a speed. The user input device may be configured to communicate information based at least in part on the direction and the speed. The system may include a media device configured to receive communications from the user input device. The media device may be configured to process the information from the user input device and to output content to the display device in accordance with a navigation operation. The navigation operation may include moving displayed content based at least in part on the direction and the speed.

TECHNICAL FIELD

This disclosure relates to apparatus and methods of content display, andparticularly to implementing navigation techniques for electronicprogramming guides and video.

BACKGROUND

A person watching television may have access to a large selection oftelevision programming. Such television programming may be availableacross multiple channels and/or formats (e.g., scheduled programming,on-demand programming). An electronic programming guide (EPG) may beused to view current and upcoming television programming. With typicalEPGs having an extensive list of channels and programming listings thatextend over many days, navigating an EPG can be cumbersome.

In addition, various devices exist that can be used to receive andrecord television programs. In recent times, devices known as personalvideo recorders (PVRs) or digital video recorders (DVRs) have becomecommonplace. PVRs use a hard drive to record digital data thatrepresents a television program. Various optical media and other formsof memory can be used to record television programs or digitalrepresentations thereof.

A typical manner in which a viewer is able access different portions ofa recorded program is by scrolling forward or backward through theprogram stream, or by specifying a time to jump to in the stream. Thescrolling may be referred to as fast-forwarding and rewinding,respectively. Linear navigation according to current techniques istime-consuming, often requires multiple button pushes, and can benon-intuitive. The viewer typically selects the scrolling options bypushing buttons of a remote control device. To select fast-forward, theviewer must select one button of the remote control device; to selectrewind, the viewer must select another button the remote control device.Sometimes, a viewer has the option to select certain scrolling speeds.To select a particular scrolling speed, multiple button pushes arerequired, whether it be multiple pushes of the same button or pushingmultiple buttons. Furthermore, specifying a time to jump to in thestream is not always intuitive and can involve an unacceptable amount oftrial and error.

Thus, there is a need for improved navigation techniques for anelectronic programming guide and recorded video. These and other needsare addressed by the present disclosure.

SUMMARY

Various methods, systems, and computer products are disclosed for remotenavigation of content displayed on a display device. The remotelynavigated content may include content of an electronic programming guideof a television tuning device. The remotely navigated content mayinclude video content such as that recorded by a PVR/DVR or bufferedwhile a viewer is watching a program. The remotely navigated content mayinclude any linearly accessed video stream.

In some embodiments, remove navigation is provided with a user inputdevice that includes a touch screen. In some embodiments, removenavigation is provided with a user input device that includesmotion-sensing technology such that user may navigate by moving the userinput device. In some embodiments, remove navigation operations may beinertia-based. The user input device may detect a user movement. In someembodiments, the user input device may identify certain characteristicsof the user movement. In some embodiments, the user input device mayidentify one or more directions corresponding to the user movement. Insome embodiments, the user input device may identify one or more speedscorresponding to the user movement. In some embodiments, the user inputdevice may identify one or more distances corresponding to the usermovement. In some embodiments, the user input device may identify one ormore times corresponding to the user movement.

Input information corresponding to the one or more characteristics maybe processed to identify specific information usable for correlation toa navigation operation. In some embodiments, the input information maybe processed algorithmically. In some embodiments, the input informationmay be processed heuristically. In some embodiments, the inputinformation may correspond to direction information at least partiallyindicative of one or more navigation operations. In some embodiments,the input information may correspond to speed information at leastpartially indicative of one or more navigation operations. In someembodiments, the input information may correspond to distanceinformation at least partially indicative of one or more navigationoperations. In some embodiments, the input information may correspond totime information at least partially indicative of one or more navigationoperations.

In some embodiments, the user input device may transfer information tothe television tuning device, and the television tuning device mayidentify instruction(s), commands, and/or navigation operations based onthe information. In some embodiments, the user input device may identifyinstruction(s), commands, and/or navigation operations based on theinformation, and may transfer the instruction(s), commands, and/ornavigation operations to the television tuning device.

In some embodiments, the navigation operation(s) may correspond to ascroll of an EPG. In some embodiments, the navigation operation(s) maycorrespond to a scroll of video. In some embodiments, the scroll may bea one-dimensional scroll in any suitable direction. In some embodiments,the scroll may be a two-dimensional scroll in any suitable direction. Insome embodiments, the scroll may have a scroll speed, direction, and/orscroll type based at least in part on the detected user movement(s). Insome embodiments, the scroll may coincide with a zoom operation, wherethe display of content zooms out as the scroll speed accelerates andzooms in as the scroll speed decelerates. In some embodiments, a zoomoperation may be separate from a scroll operation. In some embodiments,the scroll type may include a scroll acceleration and a scrolldeceleration without further user input. In some embodiments, the scrolltype may include a scroll acceleration to a top speed that may then bemaintained for a time depending on user input. In some embodiments, thescroll type may include a scroll acceleration to a top speed and ascroll deceleration to another speed that may then be maintained for atime depending on user input.

In some embodiments, a system for remote user navigation of contentdisplayed with a screen display is disclosed. The system may include adisplay device comprising a screen display. The system may include auser input device. The user input device may be configured to detect auser movement, wherein the user movement comprises a first direction anda first speed. The user input device may be configured to communicateinformation based at least in part on the first direction and the firstspeed. The system may include a media device configured to receivecommunications from the user input device. The media device may includeone or more processors and memory communicatively coupled with, andreadable by, the one or more processors. The memory may have storedtherein processor-readable instructions, which, when executed by the oneor more processors, cause the one or more processors to: process theinformation from the user input device; and output content to thedisplay device in accordance with a navigation operation, wherein thenavigation operation comprises moving displayed content based at leastin part on the first direction and the first speed.

In some embodiments, a method for remote user navigation of contentdisplayed with a screen display is disclosed. The method may includedetecting a user movement at a user input device and determining a firstdirection and a first speed corresponding to the user movement. Themethod may include communicating information based at least in part onthe first direction and the first speed to a media device. The mediadevice may be remote from the user input device. The method may includeprocessing the information from the user input device and outputtingcontent to a display device in accordance with a navigation operation.The navigation operation may include moving displayed content based atleast in part on the first direction and the first speed.

In some embodiments, a computer-readable medium for remote usernavigation of content displayed with a screen display, having sets ofstored thereon, is disclosed. The instructions, when executed by acomputer, may cause the computer to receive information from a userinput device. The information may be based at least in part on a firstdirection and a first speed. The first direction and the first speed maycorrespond to a user movement detected at the user input device. Theinstructions may cause the computer to process the information from theuser input device and to output content to a display device inaccordance with a navigation operation. The navigation operation mayinclude moving displayed content based at least in part on the firstdirection and the first speed.

Further areas of applicability of the present disclosure will becomeapparent from the detailed description provided hereinafter. It shouldbe understood that the detailed description and specific examples, whileindicating various embodiments, are intended for purposes ofillustration only and are not intended to necessarily limit the scope ofthe disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

A further understanding of the nature and advantages of variousembodiments may be realized by reference to the following figures inconjunction with the description of certain embodiments presentedherein. However, the appended figures should not be seen as limiting ordefining the present disclosure.

FIG. 1 illustrates an embodiment of a system, in accordance with certainembodiments of the present disclosure.

FIG. 2 illustrates a simplified embodiment of an end-user system, inaccordance with certain embodiments of the present disclosure.

FIG. 3 illustrates an exemplary user input device, in accordance withcertain embodiments of the present disclosure.

FIG. 4 illustrates another exemplary user input device, in accordancewith certain embodiments of the present disclosure.

FIG. 5 illustrates a block diagram of a user input device, in accordancewith certain embodiments of the present disclosure.

FIG. 6 illustrates an example of a scroll rate of on a display,responsive to a movement, in accordance with certain embodiments of thepresent disclosure.

FIG. 7A, FIG. 7B, FIG. 7C, and FIG. 7D illustrate characteristics ofvarious forms of scroll operations, in accordance with certainembodiments of the present disclosure.

FIG. 8A, FIG. 8B, and FIG. 8C illustrate a navigation feature, inaccordance with certain embodiments of the present disclosure.

FIG. 9 illustrates various interactions with an exemplary user inputdevice, in accordance with certain embodiments of the presentdisclosure.

FIG. 10 illustrates various interactions with an exemplary user inputdevice, in accordance with certain embodiments of the presentdisclosure.

FIG. 11 illustrates an embodiment of a method for navigation, inaccordance with certain embodiments of the present disclosure.

FIG. 12 illustrates an embodiment of a computer system, in accordancewith certain embodiments of the present disclosure.

In the appended figures, similar components or features may have thesame reference label. Further, various components of the same type maybe distinguished by following the reference label by a dash and a secondlabel that distinguishes among the similar components. If only the firstreference label is used in the specification, the description isapplicable to any one of the similar components having the same firstreference label irrespective of the second reference label.

DETAILED DESCRIPTION

Certain embodiments of the present disclosure are directed to apparatusand methods of content display, and particularly to implementingnavigation techniques for electronic programming guides and recordedvideo. The navigation techniques may be more intuitive and efficient.These and other benefits will be explained in detail below.

Although embodiments detailed herein may be directed toward controllingtelevision-based equipment, the principles easily can be extended toother types of content and devices, such as video game equipment,computer equipment, handheld electronic devices, and the like. Inaddition, the terms “television” or “television service” can includetraditional television programming, such as linear television programs,as well as other types of audio, video and/or audio/video content, suchas on-demand video content, streaming video content and the likedelivered via any type of content delivery systems, such as a cable,satellite, cellular/wireless, Internet/IP and/or any other contentdelivery technology or system currently known or hereafter developed.Furthermore, embodiments herein describe set-top boxes and/or otherdevices being connected with a television or other device having anelectronic display. However, the navigation techniques can also beincorporated into the device having the electronic display, such as atelevision with an integrated cable, satellite or IPTV receiver. Thetechnology discussed herein additionally can be extended to any of avariety of other electronic display devices, such as, for example,computers, tablets, hand-held mobile devices, cell phones, e-readers,personal media players, and the like. A person of ordinary skill in theart will recognize various alterations, additions, omissions, andsubstitutions.

FIG. 1 illustrates an embodiment of a system 100, in accordance withcertain embodiments of the present disclosure. The system 100 mayinclude: a television service provider 135, an uplink station 110, atelevision programming services system 140, an electronic programmingguide server 150, a programming database 160, a satellite 120, anend-user system 165, end-user equipment 130, a television tuner device170, a user input device 175, an end-user display device 180, a network185, and a programming information server 190. In some embodiments, moreor fewer components may be present.

In some embodiments, a satellite-based television service, such asdirect broadcast satellite (DBS) service, is used to deliver televisionservices to end-users. DBS service may involve television channelsand/or other content (e.g., on-demand programming) being transmitted viaa satellite uplink and multiple downlinks to end-user equipmentconfigured to receive satellite transmissions. As such, a single uplink(or multiple uplinks) may be used to deliver television channels andother content to a large number of end-users.

In the system 100, the uplink station 110 is configured to transmit oneor more television channels and/or other content to the satellite 120.The satellite 120 may be located in geosynchronous orbit to providecontinuous service to a particular geographical area. The satellite 120may serve to relay information received from the uplink station 110 to aplurality of sets of end-user equipment such as the end-user equipment130. In the system 100, only equipment linked to a single set ofend-user equipment is illustrated for the sake of simplicity. Forexample, the end-user system 165 may contain the components present atan end-user's home or business. It should be understood that the system100 may be used to deliver television channels and other content to manyend-users, which may involve many end-user systems similar to theend-user system 165.

The end-user system 165 may include the television tuner device 170. Thetelevision tuner device 170 may be associated with or located near anindividual, business, or other entity, user or subscriber that receivesa program service transmission from the service provider 135. Theprogram service transmission may be received through a subscription tothe service. Generally the terms “user” and/or “subscriber” refer to anindividual or company who receives a program service transmission. Thismay include those who have purchased a subscription to the programservice transmission. Additionally, the terms “user” and/or “subscriber”may refer to individuals who have been given access to the programservice transmission through promotional offers and/or othernon-fee-based agreements.

The television programming services system 140 may represent one or morecomputer systems that are configured to provide one or more televisionchannels and/or other content to the uplink station 110 to be deliveredto the end-user equipment 130. The electronic programming guide server150 may be part of the television programming services system 140 or maybe separate. The electronic programming guide server 150 may providetelevision programming information to the television tuner device 170.

The electronic programming guide server 150 may communicate with one ormore programming databases, such as the programming database 160. Theprogramming database 160 may be located locally to electronicprogramming guide server 150 or may be remotely accessible. Theprogramming database 160 may contain television programming informationto be presented to end-users.

The television service provider 135 may own, manage, and/or operate theuplink station 110, the television programming services system 140, theelectronic programming guide server 150, and/or the programming database160. There may be more than one television service provider 135. In someembodiments, some or all of these components may be owned and/oroperated by entities other than the television service provider 135.

The end-user equipment 130 may be configured to receive DBS service. Thedownlink from the satellite 120 to the end-user equipment 130 may beunidirectional. As such, while signals may be transmitted from thesatellite 120 to the end-user equipment 130, signals may not betransmitted from the end-user equipment 130 to the satellite 120. Thus,while information may be received by the end-user equipment 130 from thetelevision service provider 135 via the satellite 120, it may not bepossible to use the same communication link to transmit information backto the television service provider 135. However, in some embodiments,the satellite communication link may be bidirectional.

The end-user equipment 130 may include one or more satellite dishesconfigured to receive signals from the satellite 120. In someembodiments, the end-user equipment 130 may include a single satellitedish equipped with multiple tuners. In some embodiments, a single tuneris connected with a satellite dish. In the system 100, a singletelevision tuner device, the television tuner device 170 equipped with atuner 124, is illustrated as connected with the end-user equipment 130.It should be understood that, in other embodiments, the end-userequipment 130 may be connected with multiple television tuner devices.

The television tuner device 170 may be or include a standalone piece ofequipment, such as a set-top box. In some embodiments, the televisiontuner device 170 may be incorporated as part of another device, such asa television (or some other form of the end-user display device 180).The television tuner device 170 may communicate with multiple otherpieces of equipment, such as the user input device 175, and the end-userdisplay device 180. The end-user display device 180 may be a device thatis used to display television channels and/or other televised content toan end-user. Examples of possible end-user display devices may include:televisions, computer systems, and mobile devices.

The television tuner device 170 may serve as an interface between thesignals received from the satellite 120 by the end-user equipment 130and the end-user display device 180. The television tuner device 170 maybe configured to receive, analyze, and transmit information receivedfrom the satellite 120 by the end-user equipment 130 to the end-userdisplay device 180. The television tuner device 170 may include adecoder 128 to decode received signals. The decoder 128 may beprogrammed to decrypt or otherwise decode some or all of the receivedsignals in accordance with purchases and selections made by a user.

While the television tuner device 170 may receive information via thesatellite 120 from the television service provider 135, thiscommunication link may not allow information to be transmitted from thetelevision tuner device 170 back to the television service provider 135,in certain embodiments. As such, another communication link may be usedfor communication that originates from the television tuner device 170.In the example depicted, the television tuner device 170 is incommunication with the network 185.

The television tuner device 170 may include a network interface 132. Thenetwork interface 132 may be operable to communicate or send informationacross a data network, such as a packet based data network 185. Thenetwork interface 132 may take the form of a modem network interfacecard, cable plug or jack, or the like. Using the network interface 132,the television tuner device 170 may communicate over a network 185 suchas the public switched telephone network (PSTN). However, it should beappreciated that the network 185 may be any type of network capable ofdata communication, such as, for example, a local or wide area networkor the Internet. The television tuner device 170 may be configured tocommunicate via a home Wi-Fi network, a local area network, a cablemodem, DSL modem, or any other form of available connection with theInternet. The television tuner device 170 may communicate through thenetwork interface 132 using any suitable communication protocol such asTCP/IP. The television tuner device 170 may communicate with one or morewebsites through the network interface 132. In so doing, the televisiontuner device 170 may reference and receive information or other contentthat may be outputted on a display to provide an enhanced or expandedgraphical user interface (GUI), in accordance with an exampleembodiment.

Through the network interface 132, a user may communicate with theservice provider 135 in some embodiments. For example, a request forspecific television programming information may be communicated to theservice provider 135. As another example, the television tuner device170 may be able to communicate with the electronic programming guideserver 150. The television tuner device 170 may receive information orother content that may be outputted on the display 180 from the serviceprovider 135. This information could include audiovisual clips or thelike. Thus, while in the system 100 television programming informationmay be received by the television tuner device 170 via the satellite120, it should be understood that in some embodiments televisionprogramming information may be transmitted to the television tunerdevice 170 by the electronic programming guide server 150 via thenetwork 185. As such, the communication link between the televisiontuner device 170 and the electronic programming guide server 150 via thenetwork 185 may be used for bidirectional communication.

In the system 100, television channels and/or other content may bedelivered to end-users via a direct broadcast satellite arrangement.However, it should be understood that embodiments of this disclosure maypertain to other forms of televised content delivery. For example, cabletelevision, which utilizes a cable network, may utilize variousarrangements for organizing search results within an electronicprogramming guide as described herein. Similarly, a fiber-basedtelevision network and/or IP-based television network may utilizevarious arrangements for organizing search results within an electronicprogramming guide as described herein.

As depicted, the television tuner device 170 may be in communicationwith one or more programming information servers, such as theprogramming information server 190, e.g., via the network 185. Theprogramming information server 190 may represent a computer systemcontaining information on television programs and/or other content. Forexample, the programming information server 190 may have additionalinformation about television programs and/or content in addition to(and/or the same as) what is present in the television programminginformation transmitted to the television tuner device 170 by theelectronic programming guide server 150. For example, the programminginformation server 190 may have information about television programssuch as: actors and/or actresses appearing in the television program,production of the television program (such as the director, theproducer, the production company), the location of filming, a genre ofthe television program, television programs that are similar, andrecommendations (e.g., if you like television program “x,” you may enjoytelevision program “y”). Similar information may also be stored by theelectronic programming guide server 150, such as in the programmingdatabase 160, but may not be transmitted to the television tuner device170. Such information may be accessible by the television tuner device170 via the network 185 from the electronic programming guide server 150on request. By making such information available on request, the amountof data periodically transmitted to the television tuner device 170 bythe electronic programming guide server 150 as part of the televisionprogramming information may be decreased.

The television tuner device 170 may include one or more processors 134operable to run executable code in connection with various functionsassociated with the television tuner device 170. For example, theprocessor 134 may display graphics, images, animations or other contenton the display 180, such as a television (TV) or monitor. In the case ofreceiving commands or other information relating to changes to theaccount status, the processor 134 may be further operable to initiate orfacilitate transmission of one or more messages to the service provider135. The processor 134 may be further operable to recall and displaystored content, such as purchased or recorded programs.

Among other functions, the processor 134 may also receive, store, and/ordisplay an on-screen graphical user interface (GUI) such as anElectronic Program Guide (EPG) 172, which may provide a schedule ofprogram content and/or other features. Thus, the television tuner device170 may be configured to execute and display (via the end-user displaydevice 180) the EPG 172 based on television programming informationreceived via the satellite 120 by the end-user equipment 130 from theelectronic programming guide server 150. As used herein, the terms“electronic programming guide” or “EPG” may include an interface thatincludes a schedule of programming content provided to a user as part ofa program service transmission system. The EPG 172 may include softwareand/or firmware executed by the television tuner device 170. The EPG 172may comprise a database or may otherwise access a database containinginformation including, for example, names or titles of viewing events(programs), corresponding channel numbers and names, brief descriptionsof the programs, start and finish times, and rating and contentinformation related to the events. This information may be called EPGinformation or program information. Any suitable information may beincluded in the EPG information.

The EPG 172 may display on the end-user display device 180 programinformation for multiple times, multiple channels, and multipletelevision programs. For example, by an end-user interacting with EPG172, the end-user may be able to determine at what time a televisionprogram is scheduled to appear on a particular television channel. TheEPG 172 may also allow the end-user to switch between televisionchannels. In addition to listing the time, channel, and name of thetelevision program, additional information may be present for televisionprograms, such as a brief description of the television program, arating (e.g., G, PG, PG-13, R), and/or the year of release.

In some embodiments, such television programming information from theelectronic programming guide server 150 may be transmitted for a periodof days, such as a week, periodically, such as once per week, via thesatellite 120 and/or the network 185. The EPG or program information maybe communicated to the television tuner device 170 using a dedicateddata channel. The processor 134 may execute a display module 148 orprogram, which accesses stored EPG data 152 and provides a formattedgraphic output on the display 180.

In some embodiments, for EPG information provided on a specific channel,the tuner 124 may “tune” to the EPG data channel and collects the EPGinformation. The EPG information may be communicated in a serial fashionto the television tuner device 170, and thus, has a beginning and anend. For example, the EPG information may start with “program channel 1”and provide programming information for a predefined number of days orthe like for that particular channel. Next, EPG information for “programchannel 2” for the predefined number of days or the like may follow, andso on, until the EPG information for all “program channels” has beencommunicated to the television tuner device 170. The communication ofthe EPG information then starts again at the beginning of the EPGinformation. In some instances, the EPG information may simply berepeated. At other times, the EPG information may be updated and thencommunicated. This looped, periodically repeating communication of theentire EPG information is referred to as a “carousel” EPG informationformat.

If the television tuner device 170 begins receiving the EPG informationmidway during the communication of the “carousel” of EPG information,the television tuner device 170 understands that a complete set of EPGinformation has been received when it has gone through the entirecarousel of EPG information. That is, the entire carousel of EPGinformation has been received when the received EPG information hasreturned to its initial entry point into the carousel of EPGinformation.

While the television tuner device 170 is receiving the EPG information,or once the television tuner device 170 has received a full set of EPGinformation, the television tuner device 170 can construct and displayan EPG to a viewer on their viewing device, such as a television or thelike. If the entire carousel of EPG information has not yet beenreceived, a partial EPG may be constructed and presented to the viewer.

The viewer is able to interactively scroll about the EPG to viewavailable programming on a program channel of interest. Also, the vieweris able to navigate about the EPG to view textual information related toscheduled programming at future times of interest on selected programchannels of interest. The EPG 172 may be configured, based upon commandsreceived from the user input device 175, to cooperatively work with theuser input device 175 so that the viewer may request selected operationson a program of interest that is highlighted on the EPG.

The EPG data channel may include EPG information provided as thecarousel of EPG information that is communicated in a periodic, serialfashion. That is, the EPG information in the EPG data channel iscommunicated in a serial format that is periodically repeated. If thetelevision tuner device 170 has multiple tuners 124, one of the tuners124 may be used to provide viewable programming and another tuner 124can be used to tune to the EPG data channel to receive the carousel ofEPG information.

The television tuner device 170 may include or be communicativelycoupled to a recorder 136, such as a DVR (digital video recorder). Therecorder 136 may be integrated into the television tuner device 170 ormay be a stand-alone device. The recorder 136 may be operated by a userwho programs the television tuner device 170 function to record aparticular program at a specified time. When the program occurs, therecorder 136 will record and store the program, which can then be viewedlater. In addition to this functionality, the recorder 136 may buffer acertain amount of content during a currently broadcast transmission.Buffering a currently broadcast transmission allows a user to pauseand/or rewind the content of the transmission and to then display thecontent in a non-live or delayed manner.

The television tuner device 170 may include or be associated with amemory or other storage device 164, such as magnetic or optical storage.The storage device 164 may be operable to store data received from thedecoded satellite signal. The storage device 164 may be operable tostore data received from the decoded satellite signal. The storagedevice 164 may be volatile or non-volatile memory implemented using anysuitable technique or technology such as, for example, random accessmemory (RAM), disk storage, flash memory, solid state, and the like. Thestorage device 164 may be located either within the television tunerdevice 170 or separately from the television tuner device 170. Thestorage device may also be removable in nature. The stored data set mayinclude audio and/or visual content to be transmitted and displayedthrough the display 180. Generally, audiovisual or audiovisual contentmay include still images, video images, animation and/or audio. PortableNetwork Graphics (PNG) or other appropriate formats, such as forexample, Tagged Image File Format (TIFF), Joint Photographic ExpertsGroup (JPEG), Motion Picture Experts Group (MPEG)-2, MPEG-4 may be usedto display an image or video. As a result commands or settings from auser, videos or other programs may be stored locally in storage device164. Stored programs may include for example recorded broadcasts,pay-per-view items and/or buffered portions of a current videobroadcast. The storage device 164 may contain various partitions orseparate storage portions and may be used for implementation of aprogram buffer, DVR digital video recorder resources, and/or an EPG dataand/or access logic storing portion 152.

The storage device 164 may additionally store an application, file,module or other data that is useable by the processor 134. In oneinstance, a stored application may be executed by the processor 134 todisplay content on the display 180, for example display module 148. Asused herein, an application or module includes processor executable codethat may be run to carry out one or more functions associated with thetelevision tuner device 170. “Processor executable code” includes anycomputer-readable media or commands that may be ultimately interpretedby a processor, such as HTML or XML files that are rendered intouser-viewable applications by an application executed by the processor.Alternatively, the processor or the television tuner device 170 maycomprise a presentation device interface portion to hold this code.

The processor 134 may execute commands received from a user. Usercommands may be sent to the television tuner device 170 through the userinput device 175 such as a remote or other wireless device, such as aremote control. The user input device 175 may be a remote control thatallows the user to interact with the television tuner device 170.Specifically, the user input device 175 may permit an end-user tointeract with the EPG 172 and/or recorded video displayed by thetelevision tuner device 170 on the end-user display device 180 inaccordance with features of certain embodiments disclosed herein.Information sent to the television tuner device 170 may include, forexample, a command to change the displayed channel, a command to pause,fast-forward, and/or rewind a displayed program, a command to display anEPG 172, and/or a command to navigate through the EPG 172. Commands sentto the television tuner device 170 may be entered through a dedicateddisplay menu.

FIG. 2 is a simplified illustration of an embodiment of an end-usersystem 265, which may correspond to the end-user system 165, inaccordance with certain embodiments of the present disclosure. Theend-user system 265 may include the television tuner device 270, whichmay be a set-top box (STB) in certain embodiments, and an end-userdisplay device 280. The display 280 can be controlled by a user 250using a user input device 275 that can send wireless signals 276 tocommunicate with the television tuner device 270 and/or display 280. Theuser input device 275 can be configured to receive movement-basedinstructions from the user and convert the movements into instructionsto be transmitted or otherwise provided to the television tuner device270 and/or display 280. Although discussed as being wireless for userconvenience, the technology may additionally include a wired couplingbetween the user input device 275 and television tuner device 270 incertain embodiments. Alternate embodiments of the end-user system 265may include fewer or greater numbers of components.

The media service back-end 210 may correspond to elements of FIG. 1communicatively coupled to the end-user system 165, such as one or moreof the television service provider 135, an uplink station 110, atelevision programming services system 140, an electronic programmingguide server 150, and/or the like. Thus, referring again to FIG. 2, themedia service back-end 210 can provide media, in various forms, asdiscussed previously.

The television tuner device 270 can be configured to receivecommunications from the user input device 275. In certain embodiments,the communications may indicate movement-based instructions from theuser input device 275. In certain embodiments, the communications mayindicate motion information and/or direction information. In certainembodiments, the communications may indicate a command based on motioninformation and/or direction information. Thus, in certain embodiments,the television tuner device 270 may receive a command identified by theuser input device 275 based on motion information and/or directioninformation derived from the user 250. However, in certain embodiments,the television tuner device 270 may receive motion information and/ordirection information from the user input device 275 and then identify acorresponding command. Thus, once a movement-based instruction has beenreceived, the television tuner device 270 may be further configured toidentify the instruction associated with the movement provided. Themedia service back-end 210 may also be configured to perform theinstruction in accordance with the identified movement.

FIGS. 3 and 4 respectively illustrate exemplary user input devices 375and 475, in accordance with certain embodiments of the presentdisclosure. As used herein, a “user input device” may include any deviceoperable to receive input from a user and to convey the input to thetelevision tuner device in accordance with features of certainembodiments disclosed herein. For example without limitation, in variousembodiments, the user input device may include a mobile computing devicesuch as one or more devices variously referenced as a mobile phone, acellular telephone, a smartphone, a handheld mobile device, a tabletcomputer, a web pad, a personal digital assistant (PDA), a notebookcomputer, a handheld computer, a laptop computer, or the like. Incertain embodiments, a mobile application may be made available for useon a mobile computing device to at least in part transform the mobilecomputing device into user input device in accordance with certainembodiments. Various embodiments may include a specific purpose-basedmobile application, a mobile application integrated with various othermobile application features, or a native application on a dedicateddevice. In certain embodiments, a mobile application executed on amobile computing device may provide for a user input device inaccordance with features of certain embodiments disclosed herein. Insome embodiments, the user input device may include one or more of adedicated television remote control device, touchpad, remote controlunit with motion sensing, and/or the like.

In some embodiments, the user input device may be a hand-held devicehaving a number of buttons or keys that when actuated by a user causethe user input device to convey information to the television tunerdevice using a suitable communication means. In some embodiments, theuser input device may include a pointing device or functionality thatallows the user to control the position of a cursor that is displayed onthe display. In some embodiments, the user input device may include atrack ball or glide plane that may be manipulated to control cursormovements. Thus, in various embodiments, the input elements may includeone or more of a keypad, a trackball, a touchscreen, a touchpad, apointing device, a microphone, a voice recognition device, or any otherappropriate mechanism for the user to provide input.

The user input device may include one or more antennas for wireless datatransfer. In various embodiments, the communications functionality ofthe user input device may be implemented with an ICU package, a networkcard (wireless or wired), an infrared communication device, a wirelesscommunication device and/or chipset (such as a Bluetooth™ device, an802.11 device, a WiFi device, a WiMax device, cellular communicationfacilities, etc.), and/or the like. In various embodiments, the userinput device may include various input elements to allow a user to inputinformation. Thus, the user input device may include communicationsinterfaces that can provide a near field communication interface.

FIG. 5 depicts a block diagram of a user input device 575, in accordancewith certain embodiments of the present disclosure. The user inputdevice 575 may correspond to the user input devices 374 and/or 475 insome embodiments, however the user input devices illustrated hereinshould not be seen as limiting. Accordingly, the user input devices 374and/or 475 and/or other user input devices may have fewer, more, and/ordifferent components/features. The user input device 575 may include adisplay 530 and input elements 532 to allow a user to input informationinto the user input device 575. By way of example without limitation,the input elements 532 may include one or more of a keypad, a trackball,a touchscreen, a touchpad, a pointing device, a microphone, a voicerecognition device, motion sensor(s), accelerometer(s), gyroscope(s),and/or any other appropriate mechanism for the user to provide input.The input elements 532 may be configured to identify touch screencontacts and/or device movements associated with instructions foroperating the television tuning device and EPG/video navigation. Theinput elements 532 may be configured to identify direction, speed,distance, and/or time characteristics of touch screen contacts and/ordevice movements.

The user input device 575 may include a memory 534 communicativelycoupled to a processor 536 (e.g., a microprocessor) for processing thefunctions of the device 575 and configured to perform processes such asdecoding movements and instructions for output and transmission to atelevision tuning device. The user input device 575 may include at leastone antenna 538 for wireless data transfer.

The user input device 575 may also include a microphone 540 to allow auser to transmit his/her voice through the user input device 575. Inaddition, the user input device 575 may include one or more interfacesin addition to the antenna 538, e.g., a wireless interface coupled to anantenna. The communications interfaces 544 can provide a near fieldcommunication interface (e.g., contactless interface, Bluetooth, opticalinterface, etc.) and/or wireless communications interfaces capable ofcommunicating through a network such as a cellular network or throughWi-Fi, such as with a wireless local area network (WLAN). Accordingly,the user input device 575 may be capable of transmitting and receivinginformation wirelessly through both short range, radio frequency (RF)and cellular and Wi-Fi connections. The interfaces 544 may include oneor more local communication interfaces. In some embodiments, a networkinterface 544 may be configured to communicate via one or more networks,such as the Internet, to communicate with a television provider serversystem. Information may be transmitted and/or received via interface544. In some embodiments, by incorporating such a feature on the userinput device 575, operational control may be maintained at the userinput device 575 alternatively to the television tuning device, suchthat transmission is not required back and forth between the devices,and, accordingly, the user input device 575 may directly receive networkinformation or EPG information, or may receive this information from thetelevision tuning device.

The user input device 575 can also include at least onecomputer-readable medium 546 coupled to the processor 536, which storesapplication programs and other computer code instructions for operatingthe device, such as an operating system (OS) 548. The instructions 551may be stored in the memory 534 and/or computer-readable media 546. Theinstructions 551 may be any set of instructions, application level orotherwise, that facilitate certain embodiments of the presentdisclosure. In some embodiments, the instructions 551 may correspond toan application that may have been pre-installed on the platform of theuser input device 575. In other embodiments, the instructions 551 maycorrespond to a mobile application. In some embodiments, the applicationcan include a customizable user interface (UI), which can be determinedby the user's preferences through application-level programming. In someembodiments, the application can be used to display on the device animage corresponding to that which is displayed on the televisiondisplay. For example, the user input device 575 may be configured tocause the display an EPG view corresponding to that display on acommunicatively coupled TV. The computer-readable medium 546 can alsoinclude an image-processing engine 547 that may facilitate such imagedisplays in some embodiments.

The user input device 575 may include a non-transitory computer-readablestorage medium, e.g., memory 534, for storing instructions and/or datato facilitation detection, interpretation, and/or translation of userinput to one or more direction information, speed information, and/ornavigation instructions for use by the television tuning device ineffectuating on-screen navigation of an EPG and/or video. In someembodiments, the computer-readable media 546 and/or the memory 534 maybe used to store correlations between user movements and/or contacts andparticular instruction(s)/information to be transmitted to thetelevision tuning device. The computer-readable media 546 and/or thememory 534 may be used to store information received from the televisiontuning device and/or information received via network interface 544. Thecomputer-readable media 546 and/or the memory 534 may additionally beused to store information received from one or more of the motionsensing technologies facilitated by the user input device 575. Theinterface(s) 544 may allow provision of information/instructions toand/or reception of information/instructions from the television tuningdevice. This information may be used to coordinate what is displayed,for example.

Referring again to FIGS. 3 and 4, the user input devices 375, 475 may beconfigured to detect a user motion, interpret the motion, and translatethe motion to direction information. In certain embodiments, the userinput device may also translate the motion to speed information. Incertain embodiments, the user input device may provide the direct/speedinformation to the television tuning device, for the television tuningdevice to identify, process, and perform in accordance with instructionsand/or commands. In certain embodiments, the user input device mayidentify instructions and/or commands based on the direct/speedinformation and provide the instructions and/or commands to thetelevision tuning device.

In the non-limiting example depicted in FIG. 3, the user input device375 includes a touch screen 377. In some embodiments, the touch screen377 may include a display that is sensitive to touch. In someembodiments, the display may present an image corresponding to what isdisplayed on the display 180, 280. In some embodiments, the touch screen377 may not include a display. The user may interact with the user inputdevice 375 via finger contacts on the touch screen 377.

The user input device 375 includes a memory communicatively coupled toone or more processors (e.g., a microprocessor) for processing thefunctions of the user input device 375. The user input device 375 canalso include at least one computer-readable medium coupled to theprocessor(s), which stores application programs and other computer codeinstructions for operating the device, such as an operating system (OS).The mobile/native application may be stored in the memory and/orcomputer-readable media. The computer-readable medium can include atouch processing application. In certain embodiments, the touchprocessing application can automatically run each time that a useraccesses the mobile application. In some embodiments, the touchprocessing application can run continuously (e.g., in the background) orat other times, such as when the touch processing application isinitiated by a user. With some embodiments, the touch processingapplication is separate from the mobile/native application. The touchprocessing application may have been pre-installed on the platform ofthe user input device 375. In other embodiments, the mobile/nativeapplication may include the touch processing application. Themobile/native application and/or the touch processing application can beused to detect finger contact from the user and process the analog inputto derive digital information for transfer to the television tunerdevice. Use of the term “application” herein should not be construed aslimiting, for certain embodiments may employ any instructions and/orcircuitry to convert analog, motion-based user input to informationusable by the television tuner device.

Thus, the touch screen 377 may be used to remotely access linear videoin analog way. The user input device and/or the television tuning devicemay be configured to allow the user to navigate the content displayed.Instead of requiring button pushing, the user input device 375 may beconfigured to detect a movement of the user. Specifically, in certainembodiments, the user input device 375 may be configured to detectfinger contacts on the touch screen 377 in various ways according tocertain embodiments. In certain embodiments, the user may use the userinput device 375 to navigate recorded video, such as a program that thatwas previously recorded by the DVR/PVR, a program that is buffered asthe user views the program, recorded video on any medium such as a DVD,and/or any linearly accessed video stream. The user may wish to accessdifferent portions of recorded video and/or EPG information by scrollingforward or backward through the displayed content. The scrolling may bereferred to as fast-forwarding and rewinding, respectively. Withforwarding or rewinding at relatively faster rates, scrolling mayinclude skipping certain frames or segments of displayable content. Incertain embodiments, the user may use the user input device 375 for EPGnavigation in the same or similar way.

To indicate a desired screen scroll, the user may apply finger contactto the touch screen 337. The user may touch the touch screen 337 at afirst location and drag to a second location, in a certain direction orgeneral direction and in a certain time. Such as user input may bereferenced as a finger swipe.

A finger swipe across a portion of the touch screen 377 is indicated inFIG. 3 by arrow 378. The finger wipe 378 may be directed toward theright as depicted, or substantially directed toward the right. Such adirection may be detected by the touch screen 377, and the analog inputof the finger swipe 378 may be processed by the user input device 375into direction information. The processing may allow for variances inthe finger swipe. For example, the finger swipe may be in variousportions of the touch screen 377; the finger swipe may not be perfectlyhorizontal with respect to the touch screen 377; the finger swipe maynot be perfectly straight; the finger swipe may be of varying lengths;etc. The user input device 375 may include conditioningelectronics/instructions to handle such variances and derive directioninformation to correlate to a particular scroll function. Theconditioning could include algorithmic and/or heuristic aspects. Thus,the user input device 375 may have smart translations features toaccount for input variances.

In the example depicted, the finger swipe 377 may correspond to afast-forward instruction in certain embodiments directed to video streamnavigation; the finger swipe 377 may correspond to a rightward scrollinstruction in certain embodiments directed to EPG navigation. Thoughnot depicted, a finger swipe in the opposite, or generally opposite,direction (i.e., to the left of the figure) may correspond to a rewindor leftward scroll instruction. Accordingly, scrolling direction maycorrespond to a direction, or a derived direction, of finger swipe onthe user input device 375.

In the non-limiting example depicted in FIG. 4, the user input device475 is a handheld device that includes a motion-sensing technology.Accordingly, the user input device 475 may be configured to detect basedon the movement of a user. The motion-sensing technology may includeaccelerometers, cameras, motion sensors, and/or gyroscopic devices forrecognizing movements. The user input device 475 may allow a user tocontrol displayed items or graphics, such as a cursor, through movementsof his or her hand or arm that cause a displacement of the user inputdevice 475. The user input device 475 may be configured to identify adirection of movement and a speed of movement. The user input device 475may include any suitable processing, memory, and other resourcesdiscussed above to allow a viewer to remotely access linear video inanalog way in a fashion similar to the user input device 375. The userinput device 475 and/or the television tuning device may be configuredto allow the user to navigate the content displayed based on movement ofthe user, for example, by way of detecting lateral movement in variousways according to certain embodiments and correlating the movement toscrolling forward or backward through the displayed content of recordedvideo and/or an EPG.

To indicate a desired screen scroll, the user may move the user inputdevice 475 to the side. In some embodiments, the user may flick the userinput device 475 to the side with a short range of motion. In someembodiments, the user may move the user input device 475 to the sidewith a wide range of motion. In some embodiments, the user may tilt theuser input device 475 to the side. Accordingly, the user may indicate adesired direction with a movement that is indicated in FIG. 4 by arrow478. The movement 478 may be directed toward the right as depicted, orsubstantially directed toward the right. The analog input of themovement 478 may be detected by the user input device 475 and processedby the user input device 475 into direction information. The processingmay allow for variances in the movement detected. The user input device475 may include conditioning electronics/instructions to handle suchvariances and derive direction information to correlate to a particularscroll function. The conditioning could include algorithmic and/orheuristic aspects. Thus, the user input device 475 may have smarttranslations features to account for input variances.

In the example depicted, the movement 478 may correspond to afast-forward instruction in certain embodiments directed to video streamnavigation; the movement 478 may correspond to a rightward scrollinstruction in certain embodiments directed to EPG navigation. Thoughnot depicted, a movement in the opposite, or generally opposite,direction (i.e., to the left of the figure) may correspond to a rewindor leftward scroll instruction. Accordingly, scrolling direction maycorrespond to a direction, or a derived direction, of movement of theuser input device 475.

A speed of movement may be detected as an indication of a desired screenscroll speed. For example, a speed of the finger swipe 378 may bedetected as well the direction of the swipe; likewise, a speed of themovement 478 may be detected as well the direction of the swipe. Thefaster the detected speed is, the faster the scroll speed may be. Thevariances in scroll speed may include any number of predetermined rates.For example, in embodiments involving recorded video navigation, anynumber of scroll rates may be possible including, but not limited to 2×,4×, 8×, 16×, 32×, 50× . . . N× the normal play rate.

FIG. 6 represents one non-limiting example of a scroll rate of 8× on adisplay 680, responsive to the finger swipe 378 and/or the movement 478.Progress bar 610 may be displayed by the display 680. Progress bar 610may be rendered for display by the television tuner device and may betransmitted for display to the display 680. Progress bar 610 mayrepresent programming that has been recorded for a period of time on aparticular television channel as part of a recorded array of televisionchannels. Displayed information 630 may indicate the television channel,the day, and/or the range of times during which the recorded televisionchannel is available. Displayed scroll speed 631 may indicate the scrollrate. Indicator 640 may indicate where playback of the recordedtelevision channel is currently occurring within the entire recordedtelevision channel for the period of time.

Referring again to FIG. 3, a predetermined scroll rate may be associatedwith a predetermined finger swipe speed and/or range of finger swipespeeds. In some embodiments, the variances in scroll speeds may be notbe determined and may be adaptive to various finger swipe speeds. Insome embodiments, the user input device 375 may adaptive to variationsof finger swipe speed specific to a user, thereby taking into accountthat some users may have quicker movement habits/abilities than others.

Accordingly, scrolling speed may correspond to a speed associated withthe finger swipe. A faster scrolling speed may correspond to a fasterfinger swipe. Scrolling speed may be proportional to the speed ofmovement. Various embodiments may implement proportional speed controlin various ways. A baseline finger swipe speed may be predetermined andassociated with a low scroll speed. For example, a baseline finger swipespeed may be associated with a scroll speed of 2× the normal rate ofplay in the case of recorded video navigation. The screen scroll speedmay be directly proportional to finger swipe speed.

In some embodiments, scrolling speed may correspond to the distance offinger swipe 378. A longer distance may be correlated to a fasterscrolling speed. Conversely, a shorter distance may be correlated to aslower scrolling speed.

In some embodiments, scrolling speed may correspond to a number offinger swipes 378 in succession over a certain time period. For example,a user may apply two, three, or more finger swipes in rapid succession,which would then be translated to a faster scrolling speed(s). Asanother example, if the user already initiated a fast-forward operationand, then, while fast-forward operation continues, again applies one ormore finger swipes, the user input device and the television tuningdevice may respond by increasing the rate of the scrolling speed.

Referring to FIG. 4, a predetermined scroll rate may be associated witha predetermined speed and/or range of speeds corresponding to movementof the user input device 475. In some embodiments, the variances inscroll speeds may be not be determined and may be adaptive to speeds ofuser input device movement. In some embodiments, the user input device475 may adaptive to variations of finger swipe speed specific to a user,thereby taking into account that some users may have quicker movementhabits/abilities than others.

Accordingly, scrolling speed may correspond to a speed associated withthe user input device movement. A faster scrolling speed may correspondto a user input device movement. Scrolling speed may be proportional tothe speed of movement. Various embodiments may implement proportionalspeed control in various ways similar to the features discussed above inrelation to the embodiments of the user input device 375. In someembodiments, scrolling speed may correspond to the distance of that theuser input device 475 is moved. A longer distance may be correlated to afaster scrolling speed. Conversely, a shorter distance may be correlatedto a slower scrolling speed.

In some embodiments, scrolling speed may correspond to a number ofmovements of the user input device 475 in succession over a certain timeperiod. For example, a user may move the user input device 475 two,three, or more finger swipes in rapid succession, which would then betranslated to a faster scrolling speed(s). As another example, if theuser already initiated a fast-forward operation and, then, whilefast-forward operation continues, again moves the user input device 475one or more finger additional times, the user input device 475 and thetelevision tuning device may respond by increasing the rate of thescrolling speed. In certain embodiments, a viewer may select a motionsensing mode prior to navigation with the user input device 475. Forexample, the viewer may press button and flick or otherwise move theuser input device 475.

In various embodiments, a scroll operation may take various forms. FIG.7A illustrates characteristics of one form of a scroll operation, inaccordance with certain embodiments. Graph 702 characterizes scrollspeed versus time. Responsive to a finger swipe 378 on the touch screen377 or a movement 478 of the user input device 475, the scrolling speedmay increase in any manner and maintain a speed 704. Thus, the scrollspeed may plateau at speed 704. In some embodiments, the speed 704 maybe maintained for a predetermined time until point 706 and then rampdown. In some embodiments, the speed 704 may be maintained untilreceiving another finger contact on the touch screen 337 or anotherinput with user input device 475 (e.g., selecting a button, a movementin the opposite direction, a downward movement, a forward movement,etc.), at which point 704, the speed may ramp down.

In some embodiments, where the viewer maintains finger contact with thetouch screen 377 at the end of the finger swipe, the speed 704 maymaintained based on the viewer maintaining finger contact with thetouchscreen; thus, the when the user removes finger contact at point706, the speed may ramp down. In certain embodiments, the speed higherthan normal play speed may continue for a time after the viewer removesthe finger from the touchscreen, where the continuance is based on thelength of time that the viewer maintained finger contact with thetouchscreen at the end of the finger swipe. Thus, for non-limitingexample, if the viewer maintained finger contact with the touchscreen atthe end of the finger swipe for 3 seconds, the speed higher than normalplay speed may continue for 3 seconds after finger removal. Of course,it should be understood that the time of continuance may not beequivalent to the time of static finger contact, but may be based on thetime of static finger contact in any suitable way. In some embodiments,similar functionality may be implemented with the user input device 475,for example, by maintaining a position at the end of the movement 478,maintaining a tilt orientation, selection of a button, and/or the like.

In some embodiments, such as in the case of fast-forwarding recordedvideo, the ramp down may actually be rollback in the stream a certainnumber of frames to account for delay in response time of the user afterseeing a desired point in the stream. In some embodiments, such as inthe case of navigating recorded video, the speed may ramp down from thetop scrolling speed to normal play speed. In some embodiments, such asin the case of scrolling with an EPG, a similar rollback functionalitymay be implemented.

FIG. 7B is a graph 712 that illustrates characteristics of another formof a scroll operation, in accordance with certain embodiments.Responsive to finger swipe or device movement, the scroll speed may rampup to a speed 714 and then ramp down without further user input. Thedeceleration of the ramp-down may correspond to the acceleration of theramp-up in some embodiments. In certain embodiments, the deceleration ofthe ramp-down may be proportional to the acceleration of the ramp-up.

FIG. 7C is a graph 722 that illustrates characteristics of another formof a scroll operation, in accordance with certain embodiments.Responsive to finger swipe or device movement, the scroll speed may rampup to a speed 724, then ramp down to a speed 726 at point 728, and thenmaintain the speed 726 for a time. The point 728 may be predetermined insome embodiments. In some embodiments, the point 728 may be determinedby a finger contact after the swipe or another device input as discussedabove. In some embodiments, the speed 726 may be maintained for apredetermined time and then ramp down. In some embodiments, the speed726 may be maintained until another finger contact or another deviceinput is received, and then ramp down.

FIG. 7D is a graph 732 that illustrates characteristics of yet anotherform of a scroll operation, in accordance with certain embodiments. Asdepicted, the ramp-up and ramp-up may have varying forms, with a fasterramp-up and a slower ramp-down. It should be understood that anysuitable variation/combination of scrolling operations may employed withcertain embodiments.

FIG. 8A, FIG. 8B, and FIG. 8C illustrate another navigation feature, inaccordance with certain embodiments of the present disclosure. FIG. 8Adepicts an example display 802 of an EPG that may be displayed on thedisplay device 880. The example display 802 shows an EPG view that takesup the entire screen of the display device 880. In some embodiments, theEPG view may not take up the entire screen, but only a portion, such asa lower portion, a side portion, a combination of lower and sideportions, etc. In some embodiments, a viewing window that may display aprogram may be displayed in addition to the EPG view. The EPG view 802show a certain view of the overall EPG information with certain times804, certain channels 806, and certain corresponding programs 808. TheEPG view 802 may exemplify what a viewer may see prior to a scrolloperation.

In some embodiments, a scroll operation may include a zoom operation. Asa screen scroll proceeds, the view of the EPG may zoom out to show anexpanded view that encompasses more the EPG information. FIG. 8B depictsan example EPG view 810 corresponding to a screen scroll (represented byarrow 812) toward the right. The EPG view 810 represents an expandedview encapsulating times 814 that are later in time than the times 804of the previous view 802 and that have a greater range than the times804 of the previous view 802. The expanded EPG view 810 alsoencapsulates channels 816 that have a greater range than the channels806 of the previous view 802. The expanded EPG view 810 alsoencapsulates programs 818 corresponding to the times 814 and thechannels 816. In this way, the viewer is afforded an expandedperspective when navigating the EPG.

FIG. 8C depicts an example EPG view 820 corresponding that may be seenat the end of a screen scroll operation, in some embodiments. At the endof the scroll operation, the displayed viewed has returned to the samezoom level of the view 802 before the screen scroll. As compared to theEPG view 802, the EPG view 820 depicts programs 828 corresponding tochannels 826, which may be the same as previously displayed channels806, at later times 824.

Such zoom navigation features may implemented with any one orcombination of screen scroll operations disclosed herein. Accordingly,the EPG view may zoom out as the scroll speed increases and zoom in asthe scroll speed decreases. In some embodiments, the degree of zoomadjustment may be based on the scroll speed. In some embodiments, thedegree of zoom adjustment may be proportional to the scroll speed. Insome embodiments, the zoom level may not return to the initial zoomlevel before the screen scroll. In some embodiments, the final zoomlevel may be determined by user input. In some embodiments, the zoomnavigation features and/or scroll navigation features may beuser-customizable.

It should be appreciated that, while one-dimensional scrollingnavigation features have been discussed, certain embodiments couldinclude multi-dimensional scrolling navigation features. For example,EPG navigation may allow for scrolling up and down the EPG view, thusallowing for scrolling along programming information for variouschannels for a given time frame.

As depicted in FIG. 9, for example, the user may apply one or morevariously oriented finger swipes with the touch screen 377 of the userinput device 375, as indicated in FIG. 9 by arrows 978A, 978B, and978C-F. The finger swipe 978A, which may correspond to an upward orgenerally upward swipe, may result in scrolling upward through the EPG.The finger swipe 979B, which may correspond to a downward or generallydownward swipe, may result in scrolling downward through the EPG. Eachof the finger swipes 978C-F, which may correspond to an angular swipe,may result in scrolling at an angle through the EPG. Additionally,though not shown, zooming features may be used with the EPG. Forexample, a two-fingered pinching contact on the touch screen 377 maycause the displayed EPG view to zoom out; and a two-fingered spreadingcontact on the touch screen 377 may cause the displayed EPG view to zoomin.

Similarly, as depicted in FIG. 10, for example, the user may apply oneor more variously oriented movement with the user input device 475, asindicated in FIG. 10 by arrows 1078. While the arrows 1078 are depicteda plane corresponding the plane of the user input device 475, whichcould be a horizontal plane, the directional movements could be along orgenerally along any plane or combination of planes. For example, anupward vertical movement of the device 475 could cause an upward scrollof the EPG; and a downward vertical movement of the device 475 couldcause a downward scroll of the EPG. An angular movement of the device475 could cause scrolling at an angle through the EPG. Zooming could becontrolled in certain embodiments by forward movement toward the displayand backward movement away from the display. In some embodiments, theuser input device 475 may have user selectable modes, such as ascrolling mode and a zooming. A toggle button could control switchingbetween modes. The user could select the zooming mode and flick thedevice 475 in any suitable direction to zoom in/out. The user couldselect the scrolling mode and flick the device 475 in any suitabledirection to scroll through the EPG.

The systems and devices previously described may be used in performingvarious methods. FIG. 11 illustrates an embodiment of a method 1100 fornavigation in accordance with certain embodiments of the presentdisclosure. Method 1100 may be performed using one or more of thesystems or components previously described. Method 1100 may allow foruser EPG/video navigation via movement-based instructions provided by auser. Means for performing each step of method 1100 may include a userinput device and/or television tuning device.

Certain embodiments of the user input device may be configured toreceive EPG and/or video information. For those that are, as indicatedby step 1102, EPG and/or video information may be received by the userinput device. The received EPG and/or video information may thenprocessed and locally displayed on the user input device, as indicatedby step 1104.

At step 1006, a motion-based input provided by the user may be detectedby the user input device. The input may be received via any suitableinput interface, including without limitation, a touch screen and/or amotion detecting hand-held functionality (such asaccelerometer-based/motion-sending functionality). The detection mayinvolve application of algorithmic and/or heuristic processing, or otherconditioning, as indicated by step 1108. The processing may discern thereceived input from a multitude possible inputs and may apply varioustechniques to refine the received input and correlate the input to aprobable input. A direction, a speed, and/or a time may be derived fromthe input. Multiple directions, speeds, and/or time may be derived fromthe input. As indicated by step 1110, direction, speed, and/or timeinformation may be determined via the processing.

In some embodiments, as indicated by step 1112, the direction, speed,and/or time information may be transferred to the television tuningdevice. Consequently, at step 1114, the television tuning device mayreceive direction, speed, and/or time information. In some embodiments,as indicated by step 1116, the user input device may further process thedirection, speed, and/or time information to determine instruction(s)based on the information. For example, the user input device maycorrelate the direction, speed, and/or time information to a specificEPG/navigation scroll/zoom command. Alternatively, the user input devicemay correlate the direction, speed, and/or time information to specificinstruction(s) useable by the television tuning device in identifying acorresponding navigation operation(s). Consequently, at step 1118, theuser input device may transfer the instruction(s) to the televisiontuning device.

In the case of the television tuning device having receive direction,speed, and/or time information at step 1114, the television tuningdevice may further process the direction, speed, and/or time informationto determine instruction(s) based on the information, as indicated bystep 1120. At step 1122, the television tuning device may perform anavigation operation, sending display information to display device. Thenavigation operation may include a scrolling operation and/or adjustingthe zoom level of a displayed EPG view, as indicated by step 1124. Thenavigation operation may include a scrolling operation for a videostream, as indicated by step 1126. Any of the scrolling and/or zoomingfeatures discussed herein may be employed. Thus, the scrolling directionmay be based on the direction information, and the scroll speed may bebased on the speed information and/or time information.

In some embodiments, further user input may be detected and processed,and corresponding information and/or instruction(s) may be determinedand transferred to the television tuning device, as indicated by step1128. The television tuning device may receive/determine the informationand/or instruction(s), and adjust/perform navigation operations, asindicated by step 1130. For example, the user may have previouslyindicated a scrolling operation that resulted in a first scroll speed;and the further user input may correspond to an instruction to increasethe scroll speed.

FIG. 12 illustrates an embodiment of a computer system 1200. A computersystem 1200 as illustrated in FIG. 12 may be incorporated into devicessuch as a set top box (STB), a first electronic device, DVR, television,media system, personal computer, and the like. Moreover, some or all ofthe components of the computer system 1200 may also be incorporated intoa portable electronic device, mobile phone, or other device as describedherein. FIG. 12 provides a schematic illustration of one embodiment of acomputer system 1200 that can perform the methods provided by variousembodiments. It should be noted that FIG. 12 is meant only to provide ageneralized illustration of various components, any or all of which maybe utilized as appropriate. FIG. 12, therefore, broadly illustrates howindividual system elements may be implemented in a relatively separatedor relatively more integrated manner.

The computer system 1200 is shown comprising hardware elements that canbe electrically coupled via a bus 1205 (or may otherwise be incommunication, as appropriate). The hardware elements may include one ormore processors 1210, including without limitation one or moregeneral-purpose processors and/or one or more special-purpose processors(such as digital signal processing chips, graphics accelerationprocessors, and/or the like); one or more input devices 1215, which caninclude without limitation a mouse, a keyboard, a camera, and/or thelike; and one or more output devices 1220, which can include withoutlimitation a display device, a printer, and/or the like.

The computer system 1200 may further include (and/or be in communicationwith) one or more non-transitory storage devices 1225, which cancomprise, without limitation, local and/or network accessible storage,and/or can include, without limitation, a disk drive, a drive array, anoptical storage device, a solid-state storage device, such as a randomaccess memory (“RAM”), and/or a read-only memory (“ROM”), which can beprogrammable, flash-updateable, and/or the like. Such storage devicesmay be configured to implement any appropriate data stores, includingwithout limitation, various file systems, database structures, and/orthe like.

The computer system 1200 might also include a communications subsystem1230, which can include without limitation a modem, a network card(wireless or wired), an infrared communication device, a wirelesscommunication device, and/or a chipset (such as a Bluetooth™ device, an1202.11 device, a WiFi device, a WiMax device, cellular communicationfacilities, etc.), and/or the like. The communications subsystem 1230may include one or more input and/or output communication interfaces topermit data to be exchanged with a network (such as the networkdescribed below, to name one example), other computer systems,television, and/or any other devices described herein. Depending on thedesired functionality and/or other implementation concerns, a portableelectronic device (or similar device) may communicate image and/or otherinformation via the communications subsystem 1230. In other embodiments,a portable electronic device, e.g. the first electronic device, may beincorporated into the computer system 1200, e.g., STB, as an inputdevice 1215. In many embodiments, the computer system 1200 will furthercomprise a working memory 1235, which can include a RAM or ROM device,as described above.

The computer system 1200 also can comprise software elements, shown asbeing currently located within the working memory 1235, including anoperating system 1240, device drivers, executable libraries, and/orother code, such as one or more application programs 1245, which maycomprise computer programs provided by various embodiments, and/or maybe designed to implement methods, and/or configure systems, provided byother embodiments, as described herein. Merely by way of example, one ormore procedures described with respect to the method(s) and featuresdiscussed above might be implemented as code and/or instructionsexecutable by a computer (and/or a processor within a computer); in anaspect, then, such code and/or instructions can be used to configureand/or adapt a general purpose computer (or other device) to perform oneor more operations in accordance with the described methods.

A set of these instructions and/or code might be stored on anon-transitory computer-readable storage medium, such as the storagedevice(s) 1225 described above. In some cases, the storage medium mightbe incorporated within a computer system, such as computer system 1200.In other embodiments, the storage medium might be separate from acomputer system (e.g., a removable medium, such as a compact disc),and/or provided in an installation package, such that the storage mediumcan be used to program, configure, and/or adapt a general purposecomputer with the instructions/code stored thereon. These instructionsmight take the form of executable code, which is executable by thecomputer system 1200 and/or might take the form of source and/orinstallable code, which, upon compilation and/or installation on thecomputer system 1200 (e.g., using any of a variety of generallyavailable compilers, installation programs, compression/decompressionutilities, etc.), then takes the form of executable code.

It will be apparent to those skilled in the art that substantialvariations may be made in accordance with specific requirements. Forexample, customized hardware might also be used, and/or particularelements might be implemented in hardware, software (including portablesoftware, such as applets, etc.), or both. Further, connection to othercomputing devices such as network input/output devices may be employed.

As mentioned above, in one aspect, some embodiments may employ acomputer system (such as the computer system 1200) to perform methods inaccordance with various embodiments of the technology. According to aset of embodiments, some or all of the procedures of such methods areperformed by the computer system 1200 in response to processor 1210executing one or more sequences of one or more instructions (which mightbe incorporated into the operating system 1240 and/or other code, suchas an application program 1245) contained in the working memory 1235.Such instructions may be read into the working memory 1235 from anothercomputer-readable medium, such as one or more of the storage device(s)1225. Merely by way of example, execution of the sequences ofinstructions contained in the working memory 1235 might cause theprocessor(s) 1210 to perform one or more procedures of the methodsdescribed herein. Additionally or alternatively, portions of the methodsdescribed herein may be executed through specialized hardware.

The terms “machine-readable medium” and “computer-readable medium,” asused herein, refer to any medium that participates in providing datathat causes a machine to operate in a specific fashion. In an embodimentimplemented using the computer system 1200, various computer-readablemedia might be involved in providing instructions/code to processor(s)1210 for execution and/or might be used to store and/or carry suchinstructions/code. In many implementations, a computer-readable mediumis a physical and/or tangible storage medium. Such a medium may take theform of a non-volatile media or volatile media. Non-volatile mediainclude, for example, optical and/or magnetic disks, such as the storagedevice(s) 1225. Volatile media include, without limitation, dynamicmemory, such as the working memory 1235.

Common forms of physical and/or tangible computer-readable mediainclude, for example, a floppy disk, a flexible disk, hard disk,magnetic tape, or any other magnetic medium, a CD-ROM, any other opticalmedium, punchcards, papertape, any other physical medium with patternsof holes, a RAM, a PROM, EPROM, a FLASH-EPROM, any other memory chip orcartridge, or any other medium from which a computer can readinstructions and/or code.

Various forms of computer-readable media may be involved in carrying oneor more sequences of one or more instructions to the processor(s) 1210for execution. Merely by way of example, the instructions may initiallybe carried on a magnetic disk and/or optical disc of a remote computer.A remote computer might load the instructions into its dynamic memoryand send the instructions as signals over a transmission medium to bereceived and/or executed by the computer system 1200.

The communications subsystem 1230 (and/or components thereof) generallywill receive signals, and the bus 1205 then might carry the signals(and/or the data, instructions, etc. carried by the signals) to theworking memory 1235, from which the processor(s) 1210 retrieves andexecutes the instructions. The instructions received by the workingmemory 1235 may optionally be stored on a non-transitory storage device1225 either before or after execution by the processor(s) 1210.

The methods, systems, and devices discussed above are examples. Variousconfigurations may omit, substitute, or add various procedures orcomponents as appropriate. For instance, in alternative configurations,the methods may be performed in an order different from that described,and/or various stages may be added, omitted, and/or combined. Also,features described with respect to certain configurations may becombined in various other configurations. Different aspects and elementsof the configurations may be combined in a similar manner. Also,technology evolves and, thus, many of the elements are examples and donot limit the scope of the disclosure or claims.

Specific details are given in the description to provide a thoroughunderstanding of example configurations (including implementations).However, configurations may be practiced without these specific details.For example, well-known circuits, processes, algorithms, structures, andtechniques have been shown without unnecessary detail in order to avoidobscuring the configurations. This description provides exampleconfigurations only, and does not limit the scope, applicability, orconfigurations of the claims. Rather, the preceding description of theconfigurations will provide those skilled in the art with an enablingdescription for implementing described techniques. Various changes maybe made in the function and arrangement of elements without departingfrom the spirit or scope of the disclosure.

Also, configurations may be described as a process which is depicted asa flow diagram or block diagram. Although each may describe theoperations as a sequential process, many of the operations can beperformed in parallel or concurrently. In addition, the order of theoperations may be rearranged. A process may have additional steps notincluded in the figure. Furthermore, examples of the methods may beimplemented by hardware, software, firmware, middleware, microcode,hardware description languages, or any combination thereof. Whenimplemented in software, firmware, middleware, or microcode, the programcode or code segments to perform the necessary tasks may be stored in anon-transitory computer-readable medium such as a storage medium.Processors may perform the described tasks.

Having described several example configurations, various modifications,alternative constructions, and equivalents may be used without departingfrom the spirit of the disclosure. For example, the above elements maybe components of a larger system, wherein other rules may takeprecedence over or otherwise modify the application of the disclosure.Also, a number of steps may be undertaken before, during, or after theabove elements are considered. Accordingly, the above description doesnot bind the scope of the claims.

1. A system for remote user navigation of content displayed with ascreen display, the system comprising: a display device comprising ascreen display; a user input device configured to: detect a usermovement, wherein the user movement comprises a first direction and afirst speed; and communicate information based at least in part on thefirst direction and the first speed; and a media device configured toreceive communications from the user input device, wherein the mediadevice comprises: one or more processors; and memory communicativelycoupled with, and readable by, the one or more processors, the memoryhaving stored therein processor-readable instructions, which, whenexecuted by the one or more processors, cause the one or more processorsto: process the information from the user input device; and outputelectronic programming guide (EPG) content to the display device inaccordance with a navigation operation, wherein the navigation operationcomprises moving displayed EPG content based at least in part on thefirst direction and the first speed and at a speed selected based uponthe first speed and a predetermined finite baseline speed.
 2. The systemfor remote user navigation of content displayed with the screen displayof claim 1, wherein the user input device comprises a touch screen, andwherein the user movement is detected via the touch screen.
 3. Thesystem for remote user navigation of content displayed with the screendisplay of claim 1, wherein the user input device comprises one or moremotion sensors, and wherein the user movement is detected via the one ormore motion sensors.
 4. The system for remote user navigation of contentdisplayed with the screen display of claim 1, wherein the navigationoperation further comprises scrolling the displayed content at a firstscroll speed that is based at least in part on the first speed.
 5. Thesystem for remote user navigation of content displayed with the screendisplay of claim 4, wherein the first scroll speed is proportional tothe first speed.
 6. The system for remote user navigation of contentdisplayed with the screen display of claim 4, wherein the navigationoperation further comprises: increasing scroll speed up to the firstscroll speed; and decreasing scroll speed down from the first scrollspeed.
 7. The system for remote user navigation of content displayedwith the screen display of claim 4, wherein the navigation operationfurther comprises: increasing scroll speed up to the first scroll speed;decreasing scroll speed down from the first scroll speed to a secondscroll speed; and maintaining the second scroll speed for a time.
 8. Thesystem for remote user navigation of content displayed with the screendisplay of claim 4, wherein the navigation operation further comprises:increasing scroll speed up to the first scroll speed; and maintainingthe first scroll speed for a time.
 9. The system for remote usernavigation of content displayed with the screen display for claim 1,wherein the navigation operation further comprises adjusting a zoomlevel based at least in part on the first speed.
 10. The system forremote user navigation of content displayed with the screen display ofclaim 1, wherein the navigation operation further comprises: scrollingthe displayed content at a first scroll speed that is based at least inpart on the first speed; and adjusting a zoom level based at least inpart on the first speed.
 11. The system for remote user navigation ofcontent displayed with the screen display of claim 1, wherein thedisplayed content comprises programming guide information, and thenavigation operation further comprises moving the programming guideinformation in a two-dimensional direction.
 12. The system for remoteuser navigation of content displayed with the screen display of claim 1,wherein: the navigation operation is a first navigation operation; theuser input device is further configured to: detect a second usermovement; and communicate second information based at least in part onthe second user movement; and the processor-readable instructionsfurther cause the one or more processors to: process the secondinformation from the user input device to identify a second navigationoperation; and output content to the display device in accordance withthe second navigation operation, wherein the second navigation operationalters the display of content in accordance with the first navigationoperation.
 13. A method for remote user navigation of content displayedwith a screen display, the method comprising: detecting a user movementthat is repeated at a user input device; determining a first directionand a first speed corresponding to the user movement; and communicatinginformation based at least in part on the first direction and the firstspeed to a media device, wherein the media device is remote from theuser input device; processing the information from the user inputdevice; and outputting electronic programming guide (EPG) content to adisplay device in accordance with a navigation operation, wherein thenavigation operation comprises moving displayed EPG content based atleast in part on the first direction and the first speed and at a speedthat is proportional to a number of times the user movement is repeatedover a particular time period.
 14. The method for remote user navigationof content displayed with the screen display of claim 13, wherein theuser input device comprises a touch screen, and wherein the usermovement is detected via the touch screen.
 15. The method for remoteuser navigation of content displayed with the screen display of claim13, wherein the user input device comprises one or more motion sensors,and wherein the user movement is detected via the one or more motionsensors.
 16. The method for remote user navigation of content displayedwith the screen display of claim 13, wherein the navigation operationfurther comprises scrolling the displayed content at a first scrollspeed that is based at least in part on the first speed.
 17. The methodfor remote user navigation of content displayed with the screen displayof claim 16, wherein the first scroll speed is proportional to the firstspeed.
 18. The method for remote user navigation of content displayedwith the screen display of claim 16, wherein the navigation operationfurther comprises: increasing scroll speed up to the first scroll speed;and decreasing scroll speed down from the first scroll speed.
 19. Anon-transitory computer-readable medium for remote user navigation ofcontent displayed with a screen display, having sets of instructionsstored thereon which, when executed by a computer, cause the computerto: receive information from a user input device, wherein: theinformation is based at least in part on a first direction and a firstspeed; and the first direction and the first speed correspond to adetected finger swipe on a touchscreen of the user input device; processthe information from the user input device; and output electronicprogramming guide (EPG) content to a display device in accordance with anavigation operation, wherein the navigation operation comprises movingdisplayed EPG content based at least in part on the first direction andthe first speed, continuously for a time period following discontinuedfinger contact with the touchscreen that is proportional to an amount oftime finger contact is maintained with the touchscreen at an end of thefinger swipe.
 20. The non-transitory computer-readable medium for remoteuser navigation of content displayed with the screen display of claim19, wherein the navigation operation is a first navigation operation andthe instructions further cause the computer to: receive secondinformation from the user input device, wherein the second informationis based at least in part on a second user movement detected at the userinput device; process the second information from the user input deviceto identify a second navigation operation; and output content to thedisplay device in accordance with the second navigation operation,wherein the second navigation operation alters the display of content inaccordance with the first navigation operation.